package jp.co.bfs;

import java.util.LinkedList;
import java.util.Queue;

public class BFSExecute {

    public static void main(String[] args) {
    	execute();
    }

    static void  execute() {
        //ツリーを生成
        Node node = TreeBuilder.build();
        //キューを生成
        Queue<Node> queue = new LinkedList<Node>();
        //キューにツリーを追加
        queue.offer(node);

        while (queue.size() > 0) {
        	//キューの先頭の要素を取り出す
            node = queue.poll();
            //取り出したノードの文字列を出力
        	System.out.println(node.getValue());

            for (int i = 0; i < node.size(); i++){
                // 子ノードをキューに追加
            	queue.offer(node.get(i));
            }
        }
    }

}